use diesel::associations::HasTable;
use diesel::query_builder::{DeleteStatement, IntoUpdateTarget, UpdateStatement};

pub mod create;
pub mod delete;
pub mod read;
pub mod update;

type UpdateFindTable<F> = <F as HasTable>::Table;
type UpdateFindStatement<F, V> =
    UpdateStatement<<F as HasTable>::Table, <F as IntoUpdateTarget>::WhereClause, V>;
type DeleteFindStatement<F> =
    DeleteStatement<<F as HasTable>::Table, <F as IntoUpdateTarget>::WhereClause>;
